Así que espero que se cumpla la promesa, luego quiero usar los datos resultantes fuera de .then() o la función async .
function HomeScreen() { const userData = async () => { await AsyncStorage.getItem("user_nicename") } return ( <View style={styles.container}> <Text>Hello, { userData() } </Text> //*I want to use it here for example*// <Button style={styles.buttonLogin} onPress={() => navigation.navigate('LoginScreen')} title='Logout' /> </View> ) } export default HomeScreen; por supuesto, mi código arrojará un error porque userData() es un 'objeto de promesa'. Solo quiero el valor de la cadena, al que no tengo problemas para acceder dentro .then(data => ... ) . Pero, ¿cómo accedo al exterior para poder usarlo en otro lugar?
Debes usar useState y useEffect
import { useState, useEffect } from "react"; function HomeScreen() { const [userData, setUserData] = useState(undefined); useEffect(() => { (async () => { setUserData(await AsyncStorage.getItem("user_nicename")); })(); }, []); return ( <View style={styles.container}> <Text>Hello, { userData } </Text> <Button style={styles.buttonLogin} onPress={() => navigation.navigate('LoginScreen')} title='Logout' /> </View> ) } export default HomeScreen;